// pages/login/login.js
import {reqLogin,reqUserInfo} from '../../api/user'
import {setStorage} from '../../utils/storage'
import {ComponentWithStore} from "mobx-miniprogram-bindings"
import {userStore} from '../../store/userstore'
import {debounce} from "miniprogram-licia"
ComponentWithStore({
	methods:{
			// 授权登录
		Login : debounce(function(){
			// 获取临时登录凭证code
			wx.login({
				success:async ({code}) => {
					if(code){
						// 在获取到临时登录凭证后需要请求服务发送给服务器
						const res =  await reqLogin()
						// console.log('res',res)
						// 登录成功后将token 存储到本地
						setStorage('token',res.data.token)
						this.setToken(res.data.token)
						this.getUserInfo()
						// 返回上一级页面
						wx.navigateBack()
						// wx.navigateTo({
						// 	url: '/pages/my/my',
						// })
					

					}else{
						wx.toast({title:'授权失败，请重新授权'})
					}
				},
			})


		},500),
		//获取用户信息
		async getUserInfo(){
			const {data} =  await reqUserInfo()
			// 将用户信息存储到本地
			setStorage('userInfo',data)
			// 将用户信息存储到userStore对象
			this.setUserInfo(data)
		},
	},
	 //让页面和userStore对象建立关联
	storeBindings:{
		store:userStore,
		fields:['token','userInfo'],
		actions:['setToken','setUserInfo']
	}
})
